--- title: Diffusion Distance Based Loss keywords: fastai sidebar: home_sidebar nb_path: "05c05 Diffusion Distance based Loss - Tests and Visualizations.ipynb" ---
from directed_graphs.datasets import directed_swiss_roll_sklearn, plot_directed_3d
X, flow, labels = directed_swiss_roll_sklearn(num_nodes=2000)
X = torch.tensor(X).float().to(device)
flow = torch.tensor(flow).float().to(device)
X = X.float().to(device)
flow = flow.float().to(device)
BOBO_FET = DiffusionDistanceFlowEmbedder(X, flow, labels = labels, device = device)
BOBO_FET.fit()
BOBO_FET.visualize_embedding()
BOBO_FET.training_gif(duration=400)
BOBO_FET.visualize_loss()
BOBO_FET.losses['diffusion']
import glob
import ipywidgets as widgets
from PIL import Image
import os
import ipywidgets as widgets
import base64
frames = [Image.open(image) for image in glob.glob(f"visualizations/{BOBO_FET.timestamp}/*.jpg")]
frame_one = frames[0]
frame_one.save(f"{BOBO_FET.title}.gif", format="GIF", append_images=frames,
save_all=True, duration=300, loop=0)
# display in jupyter notebook
b64 = base64.b64encode(open(f"{BOBO_FET.title}.gif",'rb').read()).decode('ascii')
display(widgets.HTML(f'<img src="data:image/gif;base64,{b64}" />'))